<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    
    <script>
        /* 
        let person = {
            name: "Arlei",
            sex: "男"
        }
        Object.defineProperty(person, 'age', {
            value: 32,
            enumerable: true, // 控制属性是否可被枚举（遍历 ）
            writable: true, // 控制属性是否可以被修改
            configurable: true, // 控制属性是否可以被删除
        });
        */


        let num = 18;
        let person = {
            name: "Arlei",
            sex: "男",
            age: num
        }
        Object.defineProperty(person, 'age', {
            // 当有人读取person的age属性时， get函数(getter)会被调用，且返回值就是age的值
            // get:function(){
            //     return num
            // }
            get(){
                return num
            },
            set(value){
                console.log('age被修改了，且值='+value)
                num = value
            }
        })

        
        console.log(person);
        console.log(Object.keys(person))
    </script>

</body>
</html>